
eth:     file format elf64-x86-64


Disassembly of section .init:

0000000000001000 <_init>:
    1000:	f3 0f 1e fa          	endbr64 
    1004:	48 83 ec 08          	sub    $0x8,%rsp
    1008:	48 8b 05 d9 2f 00 00 	mov    0x2fd9(%rip),%rax        # 3fe8 <__gmon_start__>
    100f:	48 85 c0             	test   %rax,%rax
    1012:	74 02                	je     1016 <_init+0x16>
    1014:	ff d0                	callq  *%rax
    1016:	48 83 c4 08          	add    $0x8,%rsp
    101a:	c3                   	retq   

Disassembly of section .plt:

0000000000001020 <.plt>:
    1020:	ff 35 9a 2f 00 00    	pushq  0x2f9a(%rip)        # 3fc0 <_GLOBAL_OFFSET_TABLE_+0x8>
    1026:	f2 ff 25 9b 2f 00 00 	bnd jmpq *0x2f9b(%rip)        # 3fc8 <_GLOBAL_OFFSET_TABLE_+0x10>
    102d:	0f 1f 00             	nopl   (%rax)
    1030:	f3 0f 1e fa          	endbr64 
    1034:	68 00 00 00 00       	pushq  $0x0
    1039:	f2 e9 e1 ff ff ff    	bnd jmpq 1020 <.plt>
    103f:	90                   	nop

Disassembly of section .plt.got:

0000000000001040 <__cxa_finalize@plt>:
    1040:	f3 0f 1e fa          	endbr64 
    1044:	f2 ff 25 ad 2f 00 00 	bnd jmpq *0x2fad(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    104b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .plt.sec:

0000000000001050 <printf@plt>:
    1050:	f3 0f 1e fa          	endbr64 
    1054:	f2 ff 25 75 2f 00 00 	bnd jmpq *0x2f75(%rip)        # 3fd0 <printf@GLIBC_2.2.5>
    105b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .text:

0000000000001060 <_start>:
    1060:	f3 0f 1e fa          	endbr64 
    1064:	31 ed                	xor    %ebp,%ebp
    1066:	49 89 d1             	mov    %rdx,%r9
    1069:	5e                   	pop    %rsi
    106a:	48 89 e2             	mov    %rsp,%rdx
    106d:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
    1071:	50                   	push   %rax
    1072:	54                   	push   %rsp
    1073:	4c 8d 05 b6 03 00 00 	lea    0x3b6(%rip),%r8        # 1430 <__libc_csu_fini>
    107a:	48 8d 0d 3f 03 00 00 	lea    0x33f(%rip),%rcx        # 13c0 <__libc_csu_init>
    1081:	48 8d 3d 50 02 00 00 	lea    0x250(%rip),%rdi        # 12d8 <main>
    1088:	ff 15 52 2f 00 00    	callq  *0x2f52(%rip)        # 3fe0 <__libc_start_main@GLIBC_2.2.5>
    108e:	f4                   	hlt    
    108f:	90                   	nop

0000000000001090 <deregister_tm_clones>:
    1090:	48 8d 3d 79 2f 00 00 	lea    0x2f79(%rip),%rdi        # 4010 <__TMC_END__>
    1097:	48 8d 05 72 2f 00 00 	lea    0x2f72(%rip),%rax        # 4010 <__TMC_END__>
    109e:	48 39 f8             	cmp    %rdi,%rax
    10a1:	74 15                	je     10b8 <deregister_tm_clones+0x28>
    10a3:	48 8b 05 2e 2f 00 00 	mov    0x2f2e(%rip),%rax        # 3fd8 <_ITM_deregisterTMCloneTable>
    10aa:	48 85 c0             	test   %rax,%rax
    10ad:	74 09                	je     10b8 <deregister_tm_clones+0x28>
    10af:	ff e0                	jmpq   *%rax
    10b1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    10b8:	c3                   	retq   
    10b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000010c0 <register_tm_clones>:
    10c0:	48 8d 3d 49 2f 00 00 	lea    0x2f49(%rip),%rdi        # 4010 <__TMC_END__>
    10c7:	48 8d 35 42 2f 00 00 	lea    0x2f42(%rip),%rsi        # 4010 <__TMC_END__>
    10ce:	48 29 fe             	sub    %rdi,%rsi
    10d1:	48 89 f0             	mov    %rsi,%rax
    10d4:	48 c1 ee 3f          	shr    $0x3f,%rsi
    10d8:	48 c1 f8 03          	sar    $0x3,%rax
    10dc:	48 01 c6             	add    %rax,%rsi
    10df:	48 d1 fe             	sar    %rsi
    10e2:	74 14                	je     10f8 <register_tm_clones+0x38>
    10e4:	48 8b 05 05 2f 00 00 	mov    0x2f05(%rip),%rax        # 3ff0 <_ITM_registerTMCloneTable>
    10eb:	48 85 c0             	test   %rax,%rax
    10ee:	74 08                	je     10f8 <register_tm_clones+0x38>
    10f0:	ff e0                	jmpq   *%rax
    10f2:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    10f8:	c3                   	retq   
    10f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001100 <__do_global_dtors_aux>:
    1100:	f3 0f 1e fa          	endbr64 
    1104:	80 3d 05 2f 00 00 00 	cmpb   $0x0,0x2f05(%rip)        # 4010 <__TMC_END__>
    110b:	75 2b                	jne    1138 <__do_global_dtors_aux+0x38>
    110d:	55                   	push   %rbp
    110e:	48 83 3d e2 2e 00 00 	cmpq   $0x0,0x2ee2(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    1115:	00 
    1116:	48 89 e5             	mov    %rsp,%rbp
    1119:	74 0c                	je     1127 <__do_global_dtors_aux+0x27>
    111b:	48 8b 3d e6 2e 00 00 	mov    0x2ee6(%rip),%rdi        # 4008 <__dso_handle>
    1122:	e8 19 ff ff ff       	callq  1040 <__cxa_finalize@plt>
    1127:	e8 64 ff ff ff       	callq  1090 <deregister_tm_clones>
    112c:	c6 05 dd 2e 00 00 01 	movb   $0x1,0x2edd(%rip)        # 4010 <__TMC_END__>
    1133:	5d                   	pop    %rbp
    1134:	c3                   	retq   
    1135:	0f 1f 00             	nopl   (%rax)
    1138:	c3                   	retq   
    1139:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001140 <frame_dummy>:
    1140:	f3 0f 1e fa          	endbr64 
    1144:	e9 77 ff ff ff       	jmpq   10c0 <register_tm_clones>

0000000000001149 <hieth_set_regbit>:
    1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	48 83 ec 20          	sub    $0x20,%rsp
    1155:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
    1159:	89 75 e4             	mov    %esi,-0x1c(%rbp)
    115c:	89 55 e0             	mov    %edx,-0x20(%rbp)
    115f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    1164:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1168:	83 7d e4 00          	cmpl   $0x0,-0x1c(%rbp)
    116c:	0f 95 c0             	setne  %al
    116f:	0f b6 c0             	movzbl %al,%eax
    1172:	89 45 e4             	mov    %eax,-0x1c(%rbp)
    1175:	83 7d e4 00          	cmpl   $0x0,-0x1c(%rbp)
    1179:	74 09                	je     1184 <hieth_set_regbit+0x3b>
    117b:	48 8d 05 86 0e 00 00 	lea    0xe86(%rip),%rax        # 2008 <_IO_stdin_used+0x8>
    1182:	eb 07                	jmp    118b <hieth_set_regbit+0x42>
    1184:	48 8d 05 82 0e 00 00 	lea    0xe82(%rip),%rax        # 200d <_IO_stdin_used+0xd>
    118b:	48 89 c6             	mov    %rax,%rsi
    118e:	48 8d 3d 7e 0e 00 00 	lea    0xe7e(%rip),%rdi        # 2013 <_IO_stdin_used+0x13>
    1195:	b8 00 00 00 00       	mov    $0x0,%eax
    119a:	e8 b1 fe ff ff       	callq  1050 <printf@plt>
    119f:	8b 45 e0             	mov    -0x20(%rbp),%eax
    11a2:	ba 01 00 00 00       	mov    $0x1,%edx
    11a7:	89 c1                	mov    %eax,%ecx
    11a9:	d3 e2                	shl    %cl,%edx
    11ab:	89 d0                	mov    %edx,%eax
    11ad:	f7 d0                	not    %eax
    11af:	48 98                	cltq   
    11b1:	48 21 45 f8          	and    %rax,-0x8(%rbp)
    11b5:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    11b9:	48 89 c6             	mov    %rax,%rsi
    11bc:	48 8d 3d 5a 0e 00 00 	lea    0xe5a(%rip),%rdi        # 201d <_IO_stdin_used+0x1d>
    11c3:	b8 00 00 00 00       	mov    $0x0,%eax
    11c8:	e8 83 fe ff ff       	callq  1050 <printf@plt>
    11cd:	8b 45 e0             	mov    -0x20(%rbp),%eax
    11d0:	8b 55 e4             	mov    -0x1c(%rbp),%edx
    11d3:	89 c1                	mov    %eax,%ecx
    11d5:	d3 e2                	shl    %cl,%edx
    11d7:	89 d0                	mov    %edx,%eax
    11d9:	48 98                	cltq   
    11db:	48 09 45 f8          	or     %rax,-0x8(%rbp)
    11df:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    11e3:	48 89 c6             	mov    %rax,%rsi
    11e6:	48 8d 3d 3d 0e 00 00 	lea    0xe3d(%rip),%rdi        # 202a <_IO_stdin_used+0x2a>
    11ed:	b8 00 00 00 00       	mov    $0x0,%eax
    11f2:	e8 59 fe ff ff       	callq  1050 <printf@plt>
    11f7:	48 c7 45 f8 00 00 00 	movq   $0x0,-0x8(%rbp)
    11fe:	00 
    11ff:	83 7d e4 00          	cmpl   $0x0,-0x1c(%rbp)
    1203:	0f 95 c0             	setne  %al
    1206:	0f b6 c0             	movzbl %al,%eax
    1209:	89 45 e4             	mov    %eax,-0x1c(%rbp)
    120c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%rbp)
    1210:	74 09                	je     121b <hieth_set_regbit+0xd2>
    1212:	48 8d 05 ef 0d 00 00 	lea    0xdef(%rip),%rax        # 2008 <_IO_stdin_used+0x8>
    1219:	eb 07                	jmp    1222 <hieth_set_regbit+0xd9>
    121b:	48 8d 05 eb 0d 00 00 	lea    0xdeb(%rip),%rax        # 200d <_IO_stdin_used+0xd>
    1222:	48 89 c6             	mov    %rax,%rsi
    1225:	48 8d 3d e7 0d 00 00 	lea    0xde7(%rip),%rdi        # 2013 <_IO_stdin_used+0x13>
    122c:	b8 00 00 00 00       	mov    $0x0,%eax
    1231:	e8 1a fe ff ff       	callq  1050 <printf@plt>
    1236:	8b 45 e0             	mov    -0x20(%rbp),%eax
    1239:	ba 01 00 00 00       	mov    $0x1,%edx
    123e:	89 c1                	mov    %eax,%ecx
    1240:	d3 e2                	shl    %cl,%edx
    1242:	89 d0                	mov    %edx,%eax
    1244:	f7 d0                	not    %eax
    1246:	48 98                	cltq   
    1248:	48 21 45 f8          	and    %rax,-0x8(%rbp)
    124c:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    1250:	48 89 c6             	mov    %rax,%rsi
    1253:	48 8d 3d c3 0d 00 00 	lea    0xdc3(%rip),%rdi        # 201d <_IO_stdin_used+0x1d>
    125a:	b8 00 00 00 00       	mov    $0x0,%eax
    125f:	e8 ec fd ff ff       	callq  1050 <printf@plt>
    1264:	8b 45 e0             	mov    -0x20(%rbp),%eax
    1267:	8b 55 e4             	mov    -0x1c(%rbp),%edx
    126a:	89 c1                	mov    %eax,%ecx
    126c:	d3 e2                	shl    %cl,%edx
    126e:	89 d0                	mov    %edx,%eax
    1270:	48 98                	cltq   
    1272:	48 09 45 f8          	or     %rax,-0x8(%rbp)
    1276:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    127a:	48 89 c6             	mov    %rax,%rsi
    127d:	48 8d 3d a6 0d 00 00 	lea    0xda6(%rip),%rdi        # 202a <_IO_stdin_used+0x2a>
    1284:	b8 00 00 00 00       	mov    $0x0,%eax
    1289:	e8 c2 fd ff ff       	callq  1050 <printf@plt>
    128e:	90                   	nop
    128f:	c9                   	leaveq 
    1290:	c3                   	retq   

0000000000001291 <perfect>:
    1291:	f3 0f 1e fa          	endbr64 
    1295:	55                   	push   %rbp
    1296:	48 89 e5             	mov    %rsp,%rbp
    1299:	ba 04 00 00 00       	mov    $0x4,%edx
    129e:	be 05 00 00 00       	mov    $0x5,%esi
    12a3:	48 8d 3d 8e 0d 00 00 	lea    0xd8e(%rip),%rdi        # 2038 <_IO_stdin_used+0x38>
    12aa:	b8 00 00 00 00       	mov    $0x0,%eax
    12af:	e8 9c fd ff ff       	callq  1050 <printf@plt>
    12b4:	90                   	nop
    12b5:	5d                   	pop    %rbp
    12b6:	c3                   	retq   

00000000000012b7 <perfect2>:
    12b7:	f3 0f 1e fa          	endbr64 
    12bb:	55                   	push   %rbp
    12bc:	48 89 e5             	mov    %rsp,%rbp
    12bf:	be 05 00 00 00       	mov    $0x5,%esi
    12c4:	48 8d 3d 8d 0d 00 00 	lea    0xd8d(%rip),%rdi        # 2058 <_IO_stdin_used+0x58>
    12cb:	b8 00 00 00 00       	mov    $0x0,%eax
    12d0:	e8 7b fd ff ff       	callq  1050 <printf@plt>
    12d5:	90                   	nop
    12d6:	5d                   	pop    %rbp
    12d7:	c3                   	retq   

00000000000012d8 <main>:
    12d8:	f3 0f 1e fa          	endbr64 
    12dc:	55                   	push   %rbp
    12dd:	48 89 e5             	mov    %rsp,%rbp
    12e0:	48 83 ec 20          	sub    $0x20,%rsp
    12e4:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%rbp)
    12eb:	83 7d e4 00          	cmpl   $0x0,-0x1c(%rbp)
    12ef:	0f 94 c0             	sete   %al
    12f2:	0f b6 c0             	movzbl %al,%eax
    12f5:	89 45 e4             	mov    %eax,-0x1c(%rbp)
    12f8:	8b 45 e4             	mov    -0x1c(%rbp),%eax
    12fb:	89 c6                	mov    %eax,%esi
    12fd:	48 8d 3d 63 0d 00 00 	lea    0xd63(%rip),%rdi        # 2067 <_IO_stdin_used+0x67>
    1304:	b8 00 00 00 00       	mov    $0x0,%eax
    1309:	e8 42 fd ff ff       	callq  1050 <printf@plt>
    130e:	b8 00 00 00 00       	mov    $0x0,%eax
    1313:	e8 79 ff ff ff       	callq  1291 <perfect>
    1318:	b8 00 00 00 00       	mov    $0x0,%eax
    131d:	e8 95 ff ff ff       	callq  12b7 <perfect2>
    1322:	48 c7 45 e8 06 00 10 	movq   $0x100006,-0x18(%rbp)
    1329:	00 
    132a:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
    132e:	48 c1 e8 10          	shr    $0x10,%rax
    1332:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
    1336:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
    133a:	83 e0 1f             	and    $0x1f,%eax
    133d:	ba 01 00 00 00       	mov    $0x1,%edx
    1342:	89 c1                	mov    %eax,%ecx
    1344:	d3 e2                	shl    %cl,%edx
    1346:	89 d0                	mov    %edx,%eax
    1348:	8d 50 ff             	lea    -0x1(%rax),%edx
    134b:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    134f:	89 c1                	mov    %eax,%ecx
    1351:	d3 e2                	shl    %cl,%edx
    1353:	89 d0                	mov    %edx,%eax
    1355:	48 98                	cltq   
    1357:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    135b:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
    135f:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
    1363:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
    1367:	48 89 c6             	mov    %rax,%rsi
    136a:	48 8d 3d 01 0d 00 00 	lea    0xd01(%rip),%rdi        # 2072 <_IO_stdin_used+0x72>
    1371:	b8 00 00 00 00       	mov    $0x0,%eax
    1376:	e8 d5 fc ff ff       	callq  1050 <printf@plt>
    137b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
    137f:	83 e0 01             	and    $0x1,%eax
    1382:	48 89 c2             	mov    %rax,%rdx
    1385:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    1389:	89 c1                	mov    %eax,%ecx
    138b:	48 d3 ea             	shr    %cl,%rdx
    138e:	48 89 d0             	mov    %rdx,%rax
    1391:	48 89 c6             	mov    %rax,%rsi
    1394:	48 8d 3d e3 0c 00 00 	lea    0xce3(%rip),%rdi        # 207e <_IO_stdin_used+0x7e>
    139b:	b8 00 00 00 00       	mov    $0x0,%eax
    13a0:	e8 ab fc ff ff       	callq  1050 <printf@plt>
    13a5:	89 c6                	mov    %eax,%esi
    13a7:	48 8d 3d d4 0c 00 00 	lea    0xcd4(%rip),%rdi        # 2082 <_IO_stdin_used+0x82>
    13ae:	b8 00 00 00 00       	mov    $0x0,%eax
    13b3:	e8 98 fc ff ff       	callq  1050 <printf@plt>
    13b8:	b8 00 00 00 00       	mov    $0x0,%eax
    13bd:	c9                   	leaveq 
    13be:	c3                   	retq   
    13bf:	90                   	nop

00000000000013c0 <__libc_csu_init>:
    13c0:	f3 0f 1e fa          	endbr64 
    13c4:	41 57                	push   %r15
    13c6:	4c 8d 3d eb 29 00 00 	lea    0x29eb(%rip),%r15        # 3db8 <__frame_dummy_init_array_entry>
    13cd:	41 56                	push   %r14
    13cf:	49 89 d6             	mov    %rdx,%r14
    13d2:	41 55                	push   %r13
    13d4:	49 89 f5             	mov    %rsi,%r13
    13d7:	41 54                	push   %r12
    13d9:	41 89 fc             	mov    %edi,%r12d
    13dc:	55                   	push   %rbp
    13dd:	48 8d 2d dc 29 00 00 	lea    0x29dc(%rip),%rbp        # 3dc0 <__do_global_dtors_aux_fini_array_entry>
    13e4:	53                   	push   %rbx
    13e5:	4c 29 fd             	sub    %r15,%rbp
    13e8:	48 83 ec 08          	sub    $0x8,%rsp
    13ec:	e8 0f fc ff ff       	callq  1000 <_init>
    13f1:	48 c1 fd 03          	sar    $0x3,%rbp
    13f5:	74 1f                	je     1416 <__libc_csu_init+0x56>
    13f7:	31 db                	xor    %ebx,%ebx
    13f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1400:	4c 89 f2             	mov    %r14,%rdx
    1403:	4c 89 ee             	mov    %r13,%rsi
    1406:	44 89 e7             	mov    %r12d,%edi
    1409:	41 ff 14 df          	callq  *(%r15,%rbx,8)
    140d:	48 83 c3 01          	add    $0x1,%rbx
    1411:	48 39 dd             	cmp    %rbx,%rbp
    1414:	75 ea                	jne    1400 <__libc_csu_init+0x40>
    1416:	48 83 c4 08          	add    $0x8,%rsp
    141a:	5b                   	pop    %rbx
    141b:	5d                   	pop    %rbp
    141c:	41 5c                	pop    %r12
    141e:	41 5d                	pop    %r13
    1420:	41 5e                	pop    %r14
    1422:	41 5f                	pop    %r15
    1424:	c3                   	retq   
    1425:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%rax,%rax,1)
    142c:	00 00 00 00 

0000000000001430 <__libc_csu_fini>:
    1430:	f3 0f 1e fa          	endbr64 
    1434:	c3                   	retq   

Disassembly of section .fini:

0000000000001438 <_fini>:
    1438:	f3 0f 1e fa          	endbr64 
    143c:	48 83 ec 08          	sub    $0x8,%rsp
    1440:	48 83 c4 08          	add    $0x8,%rsp
    1444:	c3                   	retq   
